package com.own.business.sync.trigger.base.method;

import com.own.business.sync.trigger.base.entity.SyncTrigger;

/**
 * ResolveMethod
 *
 * @author chenxueli
 * @date 2024-01-08 15:45:26
 */
public interface ResolveMethod {

    /**
     * 修改的处理方法
     *
     * @param trigger 日志信息
     */
    void update(SyncTrigger trigger);

    /**
     * 新增的处理方法
     *
     * @param trigger 日志信息
     */
    default void add(SyncTrigger trigger) {
        update(trigger);
    }

    /**
     * 删除的处理方法
     *
     * @param trigger 日志信息
     */
    default void delete(SyncTrigger trigger) {
    }

    /**
     * 名称信息
     *
     * @return 名称
     */
    String name();

    /**
     * 是否启用
     *
     * @return 是否启用
     */
    default boolean enable() {
        return true;
    }

}
